home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Professional Soft Collection 1.02
/
Professional Soft Collection 1.02.iso
/
winutils
/
wingauge.zip
/
MMETER.C
< prev
next >
Wrap
C/C++ Source or Header
|
1993-01-19
|
1KB
|
36 lines
#pragma hdrfile "WinGauge.SYM"
#include <win31.h>
#include "wingauge.h"
#include "wingauge.rh"
#pragma hdrstop
static const COLORREF aMemColors[] = { LIGHTRED, YELLOW, BLUE, GREEN };
void mmPaint( HDC hDC, short sOffset, WORD wNumber, PSTR szBuffer )
{ WORD i, wMemBound;
HBRUSH hBrush;
HPEN hPen;
if( wNumber >= 1000 )
wsprintf( szBuffer, "%u.%uM", wNumber >> 10,
( (wNumber & 1023) * 10 ) >> 10 );
else
szBuffer[lstrlen(szBuffer)-1] = 'K';
for( i=0, wMemBound=128;
wNumber > wMemBound && i<ArraySize(aMemColors);
++i, wMemBound *= 8 )
;
if( wNumber > wMemBound )
wNumber = wMemBound;
hPen = SelectObject( hDC, GetStockObject( NULL_PEN ) );
hBrush = SelectObject( hDC, CreateSolidBrush(aMemColors[i]) );
Rectangle( hDC, sOffset+3, sOffset+18,
sOffset+3 + MyMulDiv( 26, wNumber, wMemBound ),
sOffset+26 );
DeleteObject( SelectObject( hDC, hBrush ) );
SelectObject( hDC, hPen );
SetTextColor( hDC, BLACK );
}